import { ObjCreate } from "./ObjCreate";
import { ImagesConst } from "../../resource/ImagesConst";
import { BaseItem } from "./BaseItem";
import { ItemData } from "../../resource/info/ItemData";
type int = number;
//class BgItem
    
    export  class BgItem /* flash.display.Sprite */
    {
        constructor(arg1: int=0)
        {
            
            this.createChildren();
            if (arg1 != 0) 
            {
                this.setItemCode(arg1);
            }
            return;
        }

        /* internal  */createChildren(): void
        {
            ObjCreate.createBitmap(ImagesConst.PackItemBg, 0, 0, this);
            this._baseItem = new BaseItem();
            this._baseItem.isShowLock = true;
            ObjCreate.setObjAttri(this._baseItem, 3, 3, 32, 32, this);
            return;
        }

        public setItemCode(arg1: int, arg2: int=1): void
        {
            var loc1=null;
            if (!this._baseItem) 
            {
                this._baseItem = new BaseItem();
                this._baseItem.isShowLock = true;
                ObjCreate.setObjAttri(this._baseItem, 3, 3, 32, 32, this);
            }
            if (arg1 == 0) 
            {
                this._baseItem.itemData = null;
            }
            else 
            {
                loc1 = new ItemData(arg1);
                loc1.itemAmount = arg2;
                this._baseItem.itemData = loc1;
            }
            return;
        }

        public set itemData(arg1: ItemData)
        {
            this._baseItem.itemData = arg1;
            return;
        }

        public get itemData(): ItemData
        {
            if (this._baseItem) 
            {
                return this._baseItem.itemData;
            }
            return null;
        }

        public get baseItem(): BaseItem
        {
            return this._baseItem;
        }

        public set isDragAble(arg1: Boolean)
        {
            if (this._baseItem) 
            {
                this._baseItem.isDragAble = arg1;
            }
            return;
        }

        public /* override */ get height(): number
        {
            return 32;
        }

        protected /* var */_baseItem: BaseItem;
    }
